Software defined networks are based on providing an application programmable interface for forwarding devices, for example switches or routers enabling programmability of these forwarding devices and therefore the entire network. Recently information centric networking was introduced, wherein communication within information centric networks is based on requests and responses: Requestors send requests to the information centric network, asking for named data objects that have been published before and that are available in one or many copies in the information centric network. Networking elements, for example forwarding elements receiving a request decide where to forward the requests to, for example which interface to use for forwarding the request. Once a request has been forwarded and reached the object source, for example a named data object copy in a cache, a corresponding response message is relayed back to the requestor.
Conventional methods for providing an information centric network use internet based protocols for the physical network tailored to support host to host communication using IP and TCP/UDP with additional mechanisms. For example an overlay network is created on top of the existing physical network and additional routing and forwarding mechanisms are implemented in the overlay network by certain applications. However, one of the disadvantages of these conventional methods is, that both hosts need to have special support for these mechanisms causing overhead for the overlay management and encapsulation inside the internet protocol.
Another conventional method for providing an information centric network, for example is described in N. Blefari-Melazzi, A. Detti, G. Mazza, G. Morabito, S. Salsano, L. Veltri, An OpenFlow-based Testbed for Information Centric Networking, Future Network & Mobile Summit 2012, with border nodes performing name-to-location mapping with help by an external means of location lookup for requested named data objects. An IP option is defined to include the name of the requested named data object and an information centric network specific transport protocol is used. The border nodes encapsulate the original request in a new packet of the information centric network specific transport protocol. A flow identifier representing the object's name with a one-to-one mapping will be embedded in the transport protocol port numbers. The software defined network in form of an open flow control network then uses these port numbers to forward the packet to the appropriate location or locations. The border node keeps a pending interest table enabling reversing the encapsulation and sending the response to the original requestor.